package com.ruoyi.jiuyezu.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 班级，记录班级的基本信息对象 jiuyezu_classes
 * 
 * @author wyj
 * @date 2024-07-22
 */
public class Classes extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;

    /** 班级 */
    @Excel(name = "班级")
    private String className;

    /** 教员（上课的老师） */
    @Excel(name = "教员", readConverterExp = "上=课的老师")
    private String teacher;

    /** 班主任（管理班级的老师） */
    @Excel(name = "班主任", readConverterExp = "管=理班级的老师")
    private String classTeacher;

    /** 学期（分为S1、S2、S3） */
    @Excel(name = "学期", readConverterExp = "分=为S1、S2、S3")
    private String term;

    /** 班级类型（S1、S2是正常的班级，到了S3开始分班，分为开发班和实施班） */
    @Excel(name = "班级类型", readConverterExp = "S=1、S2是正常的班级，到了S3开始分班，分为开发班和实施班")
    private String classType;

    /** 人数 */
    @Excel(name = "人数")
    private Integer studentCount;

    /** 逻辑删除 */
    @Excel(name = "逻辑删除")
    private Integer isDeleted;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createdBy;

    /** 创建人ID */
    @Excel(name = "创建人ID")
    private Long createdById;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdDate;

    /** 修改人ID */
    @Excel(name = "修改人ID")
    private Long updateById;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateDate;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setClassName(String className) 
    {
        this.className = className;
    }

    public String getClassName() 
    {
        return className;
    }
    public void setTeacher(String teacher) 
    {
        this.teacher = teacher;
    }

    public String getTeacher() 
    {
        return teacher;
    }
    public void setClassTeacher(String classTeacher) 
    {
        this.classTeacher = classTeacher;
    }

    public String getClassTeacher() 
    {
        return classTeacher;
    }
    public void setTerm(String term) 
    {
        this.term = term;
    }

    public String getTerm() 
    {
        return term;
    }
    public void setClassType(String classType) 
    {
        this.classType = classType;
    }

    public String getClassType() 
    {
        return classType;
    }
    public void setStudentCount(Integer studentCount) 
    {
        this.studentCount = studentCount;
    }

    public Integer getStudentCount() 
    {
        return studentCount;
    }
    public void setIsDeleted(Integer isDeleted) 
    {
        this.isDeleted = isDeleted;
    }

    public Integer getIsDeleted() 
    {
        return isDeleted;
    }
    public void setCreatedBy(String createdBy) 
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() 
    {
        return createdBy;
    }
    public void setCreatedById(Long createdById) 
    {
        this.createdById = createdById;
    }

    public Long getCreatedById() 
    {
        return createdById;
    }
    public void setCreatedDate(Date createdDate) 
    {
        this.createdDate = createdDate;
    }

    public Date getCreatedDate() 
    {
        return createdDate;
    }
    public void setUpdateById(Long updateById) 
    {
        this.updateById = updateById;
    }

    public Long getUpdateById() 
    {
        return updateById;
    }
    public void setUpdateDate(Date updateDate) 
    {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate() 
    {
        return updateDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("className", getClassName())
            .append("teacher", getTeacher())
            .append("classTeacher", getClassTeacher())
            .append("term", getTerm())
            .append("classType", getClassType())
            .append("studentCount", getStudentCount())
            .append("isDeleted", getIsDeleted())
            .append("remark", getRemark())
            .append("createdBy", getCreatedBy())
            .append("createdById", getCreatedById())
            .append("createdDate", getCreatedDate())
            .append("updateBy", getUpdateBy())
            .append("updateById", getUpdateById())
            .append("updateDate", getUpdateDate())
            .toString();
    }
}
